home *** CD-ROM | disk | FTP | other *** search
- Chapter 9
-
- QEMM-386
-
- This chapter describes the screens available if you have an 80386
- PC with Quarterdeck Expanded Memory Manager-386 (QEMM-386)
- installed and running. If you do not have an 80386 PC, you may
- still find this chapter useful in case you plan on getting an
- 80386 in the future.
-
- QEMM-386 is a device driver which is cognizant of the memory you
- have in your PC. Its principal function is to transform all of
- your memory into memory usable in the ways specified by EMS 3.2,
- EMS 4, and EEMS standards. To be specific, your extended memory
- (memory above 1024K) is converted into expanded memory, with all
- the functionality of expanded memory. Your conventional memory is
- made mappable.
-
- QEMM-386 also takes maximum advantage of any available areas of
- high memory in your computer, that is the areas between 640K and
- 1024K which are not in use by any ROMs or adapter RAM that you
- have. As you will see in Manifest's QEMM-386 displays, QEMM-386
- not only can make available high memory areas usable for expanded
- memory (known as mappable areas), but can also put RAM (in chunks
- as small as 4K) into these areas. The result is that more high
- memory is available to load DOS resources, TSRs and device
- drivers. Loading these things into high RAM is done using
- QEMM-386's LOADHI.COM and LOADHI.SYS programs.
-
- The topics included in the QEMM-386 category detail the effects
- of QEMM-386's management of your memory. It is recommended that
- you be familiar with the information in your QEMM-386 manual,
- that you have a basic understanding of expanded memory (see
- Chapter 6), and that you keep in mind and review the other
- Manifest screens as they relate to memory utilization.
-
- ~Subhead~ QEMM-386 Overview (QO)
-
- QEMM-386 Overview presents the key elements necessary to
- determine QEMM-386's status. This screen appears if QEMM-386 is
- installed and running at the time you run Manifest.
-
- You should have this screen on hand if you need technical
- support from Quarterdeck on QEMM-386.
-
- In the sections which follow you may find suggestions about
- modifying QEMM-386 parameters or command line switches. Details
- concerning QEMM-386 parameters and how you specify them are
- contained in the Quarterdeck Expanded Memory-386 user manual.
-
- ~Subhead~ Key Terms
-
- QEMM-386's Status shows you the current status of QEMM.SYS.
- QEMM.SYS may indicate that it is configured with High RAM or
- Mapped ROM, whether memory is back-filled or video filled, and
- whether expanded memory is being used.
-
- Mode refers to the "current state" of QEMM.SYS. When there is
- high RAM, ROM mapping, memory back-filling, or video filling,
- QEMM's mode is ON and may not be turned OFF. Otherwise, QEMM's
- mode will typically be either AUTO/ON or AUTO/OFF, depending upon
- whether expanded memory is in use. If QEMM's mode is OFF (without
- the AUTO) then expanded memory is not accessible until you change
- the mode using the QEMM.COM program.
-
- Page Frame gives the address of the page frame. This entry
- indicates "None" if there is no page frame.
-
- ~Subhead~ QEMM-386 Type (QY)
-
- QEMM-386 Type presents you with two views of your first megabyte
- of memory as seen by QEMM-386. This screen appears if QEMM-386 is
- installed and running at the time you run Manifest.
-
- The first view of your first megabyte of memory, seen through
- QEMM-386's eyes, is a map. Each row of the map contains 16
- characters representing 64K of memory. Each character (+ * F H M
- X V A R /) represents 4K of memory~dash~and has a special
- meaning, as described in the legend table to the right. Base
- addresses are indicated in the left column (0n00 at the top
- through Fn00 at the bottom). To determine a particular 4K area
- replace the value "n" with the character listed at the top of the
- screen.
-
- The second view is the same information, displayed in list
- format. You can display this list by pressing the F3 key.
-
- You use this screen to:
-
- ~Item~ determine the effect of QEMM-386's management of memory in
- your PC.
-
- ~Subhead~ Type Map Described
-
- QEMM-386 describes your first megabyte of memory using any of
- ten symbols. These are as follows:
-
- ~Item~ Mappable (+): areas of memory which can be mapped into
- using EMS function calls. These areas must be 16K in size and
- aligned on 16K boundaries. Areas of high memory that are marked
- as Mappable can be converted to High RAM by adding the RAM switch
- to the QEMM.SYS command line.
-
- ~Item~ Rammable (*): areas of memory which can be mapped into by
- QEMM-386 but are too small to be accessed by EMS function calls.
- You must add the RAM switch to the QEMM.SYS command line to fill
- the memory area with expanded memory.
-
- ~Item~ Page Frame (F): a mappable area, 64K in size, which is the
- place that almost all EMS programs use for mapping. Other
- mappable regions are only used by programs written specifically
- for EMS 4.0 or EEMS.
-
- ~Item~ High RAM (H): areas above conventional memory which have
- been filled with RAM by QEMM-386. Any areas above conventional
- memory marked as Mappable (+) or Rammable (*) may be converted to
- High RAM (H) by adding the RAM switch to the QEMM.SYS command
- line. Once the RAM instruction has been added and the system has
- been re-booted, high RAM areas may be used by QEMM's LOADHI.COM
- and LOADHI.SYS programs to load TSRs and device drivers in high
- memory.
-
- ~Item~ Mapped ROM (M): addresses of Read Only Memory which have
- been copied to RAM, and then mapped into the original addresses
- by QEMM's ROM switch. The purpose of mapping ROM is to run ROM
- code in fast memory.
-
- ~Item~ Excluded (X): areas of memory which have been explicitly
- excluded from use by the exclude switch to QEMM.SYS.
- Additionally, QEMM-386 automatically excludes the addresses from
- 0000 to 0FFF. If one of your adapter cards fails to identify
- itself properly, QEMM may try to use all or part of the memory
- addresses used by the adapter as either High RAM or Mappable
- memory. You must explicitly exclude the conflicting memory areas
- from QEMM or problems will occur.
-
- ~Item~ Video (V): addresses reserved for video display memory.
-
- ~Item~ Adapter RAM (A): regions of memory which have RAM mapped
- into them by adapter cards other than video adapter cards.
-
- ~Item~ ROM (R): regions of Read Only Memory which have not been
- re-mapped by the QEMM.SYS ROM switch.
-
- ~Item~ Split ROM (/): addresses which QEMM.SYS has detected as
- having ROM which occupies only a portion of the 4K area. Such
- areas cannot be re-mapped by the QEMM.SYS ROM switch.
-
- ~Subhead~ Type List
-
- This screen shows the identical information as the Type Map
- screen, but lists the regions by Memory Area, indicating the size
- of each region.
-
- ~Subhead~ Technical Notes
-
- Extra Mapped ROM: There are two conditions under which there
- will be Mapped ROM even when you have not given a ROM switch on
- the QEMM.SYS command line:
-
- ~Item~ There is always 4K of Mapped ROM in the system ROM.
- QEMM-386 automatically uses one area of the system ROM to help it
- detect reboot requests.
-
- ~Item~ On a COMPAQ Deskpro 386, QEMM-386 automatically maps the
- video ROM and the system ROM to emulate the speed-up that the
- Deskpro itself imposes but which QEMM-386 overrides. QEMM-386
- does this to make optimal use of the COMPAQ reserved memory
- without slowing down video and other operations.
-
- ~Subhead~ QEMM-386 Accessed (QA)
-
- QEMM-386 Accessed presents you with two views of the first
- megabyte of memory~dash~indicating the 4K regions of memory that
- have and have not been accessed from the time you booted your PC
- until the time of the display. This screen appears only if
- QEMM-386 Version 5 or above is running at the time you use
- Manifest.
-
- The first view is a map of this information. The second view is
- a list. You can alternate between the map and the list by
- pressing the F3 key.
-
- Manifest uses the term Unaccessed (U) to refer to the areas of
- memory which have not been read or written by a program.
- Potentially, those areas above 640K may be usable for mapping
- high RAM.
-
- Manifest also distinguishes between areas of memory that have
- been read by a program, Accessed (A), and areas of memory which
- have had data written to them by a program, "Written" (W).
-
-
- ~Subhead~ Technical Hints
-
- You can use this screen to determine how "big" a program is
- (i.e. how much conventional memory it accesses and writes into)
- and whether a program accesses or writes into an area of high
- memory.
-
- Inaccuracy of Accessed Map for Mappable Regions: The information
- displayed is not accurate for mappable regions. When the computer
- maps memory into a mappable area, the process of mapping clears
- the state of the region, and makes it appear to be unaccessed.
- This clearing occurs often in the conventional areas of memory in
- DESQview by virtue of multitasking. Active use of the Page Frame
- for mapping will also clear these indicators. Other areas are not
- so frequently mapped.
-
-
- ~Subhead~ Accessed List
-
- This screen shows the identical information as the Accesed Map
- Screen, but lists the regions by Memory Area, indicating the size
- of each region.
-
-
- ~Subhead~ QEMM-386 Analysis (QN)
-
- QEMM-386 Analysis presents you with two views of your PC's first
- megabyte of memory~dash~indicating Manifest's assessment of what
- memory is OK to use, what memory should be excluded and what
- should be included. This assessment is based upon you having had
- QEMM-386 watch what memory was accessed by your programs. This
- enables you to better optimize the use of your memory.
-
- The first view is in map form. The second view of this
- information is in list format. You can alternate between the map
- and the list by pressing the F3 key.
-
- You use the map to see what memory can be used. However, the
- list gives you the memory addresses that you may instruct
- QEMM.SYS to include or exclude.
-
- WARNING: The steps you must follow in order for the QEMM-386
- Analyis screen to be accurate are described later in this
- section. If you do not follow this procedure:
-
- ~Item~ the information in these screens may not be valid, and
-
- ~Item~ any and all suggestions and hints you find in this section
- may be inappropriate.
-
- ~Subhead~ Analysis Map
-
- OK (O): areas of memory that have been used by a properly
- specified to QEMM.
-
- Exclude (X): areas of memory that have been used by a program,
- but QEMM did not expect it to. You should use the EXCLUDE switch
- to QEMM to prevent QEMM from using these areas.
-
- Include (I): areas of high memory that have not been used by a
- program, but have been reserved by QEMM. You may use the INCLUDE
- switch to QEMM to allow QEMM to use these areas.
-
- ~Subhead~ Analysis List
-
- This screen shows the identical information as the Analysis Map
- Screen, but lists the regions by Memory Area, indicating the size
- of each region.
-
- ~Subhead~ Analysis Procedures
-
- The Benefit of QEMM-386 Analysis: As you run your favorite
- programs, QEMM is recording the memory accessed by these
- programs. Manifest then analyzes the memory accessed and
- recommends how to best configure your QEMM.SYS for optimum use of
- your memory. The end result of analyzing your memory is that more
- of your high memory may become usable for memory resident
- programs, device drivers, and DOS resources~dash~resulting in
- more conventional memory for your favorite programs.
-
- However, for QEMM to accurately determine what high memory
- addresses are used requires several sequential steps, all of
- which must be performed before accurate results will be obtained.
-
- ~Item~ Modify the QEMM.SYS command line in CONFIG.SYS so it
- specifies the ON switch.
-
- ~Item~ Save your CONFIG.SYS file and re-boot your PC.
-
- ~Item~ Run all of your programs and perform all of their
- functions. If you use DESQview, you should start it, and
- immediately quit without running programs.
-
- ~Item~ Access all of the hardware in your computer. If you have
- two monitors connected to your computer, display information on
- each of them. Access each of your disk drives. Format a diskette.
- Print a document. If you have a network adapter card or a 3270
- card or the like, connect to it.
-
- ~Item~ Do not run utilities other than Manifest which check the
- functioning of your computer's hardware, especially those that
- check memory.
-
- ~Item~ After you have run every program you use, run Manifest and
- select QEMM-386 Analysis.
-
- ~Item~ Examine the Analysis list and note the suggestions. Modify
- the QEMM.SYS command line in CONFIG.SYS to include or exclude
- memory areas specified in the Analysis List and to remove the ON
- switch you added earlier.
-
- Verify Your QEMM Configuration: If you want to verify that you
- have optimized the use of your memory, repeat the Analysis
- process and display the Analysis List. You should see " 0000 -
- FFFF 1024K OK". If you see additional Exclude (X) areas, use
- them. If you see additional Include (I) areas, ignore them.
-
- ~Subhead~ QEMM-386 Memory (QM)
-
- QEMM-386 Memory gives you an accounting of the memory in your PC
- (conventional, high RAM, extended, and expanded) before and after
- QEMM-386 has configured this memory.
-
- On some computers there will be a fifth category, either Top
- Memory (seen most often on Compaqs) or shadow RAM (seen most
- often on machines using a Chips & Technologies chip set).
-
- You use this screen to:
-
- ~Item~ see a summary of how QEMM has made use of your memory,
-
- ~Item~ quickly learn if QEMM can detect the shadow RAM on your
- PC,
-
- ~Item~ find out how much memory is in your PC, and how it is
- being used.
-
- ~Subhead~ Memory Accounting
-
- The "Initial" column shows the totals of each type of memory
- when you turn on your computer. The Expanded and High RAM
- categories always start at OK. The total of this column should
- equal the amount of memory in your computer.
-
- The "Unavailable to QEMM" column indicates memory which has been
- made unavailable to QEMM before QEMM gets a chance to use it.
- Drivers loaded before QEMM which use extended memory will make
- that memory unavailable to QEMM. Also, machines with Shadow RAM
- make much of it unavailable for QEMM to use.
-
- The "Converted by QEMM" column shows what QEMM does to your
- memory. It converts Extended memory (and Shadow RAM or Top Memory
- if you have any) into Expanded Memory and High RAM. Thus, the
- column shows some memory being "used" (subtracting from the
- available) and some being "created" (adding to the available).
- QEMM also can fill in missing conventional memory, so you might
- see it "creating" more conventional memory. The total of this
- column indicates how much memory QEMM keeps for its own use and
- for mapping your ROMs.
-
- The "Leaving" column shows how much memory is left over once
- QEMM is through initializing itself. These numbers are very
- important. The remaining conventional memory, usually 640K,
- indicates how much contiguous memory is accessible for your DOS
- programs. The remaining Extended memory, usually 0K, indicates
- how much Extended memory is left over for other programs to use.
- Note that if your programs can access memory through the EMS, XMS
- or VCPI interfaces, then they do not need any Extended memory
- left for them by QEMM. The remaining Expanded memory is how much
- memory is available to programs which support EMS. The remaining
- High RAM indicates the memory available for loading DOS
- resources, TSRs, and device drivers into high memory.
-
- The box at the bottom of the screen details the ways in which
- QEMM has used memory. The first number is the total amount of
- memory QEMM is using for itself and for mapping ROMs. This is the
- same as the total of the third column from the top box. The next
- numbers indicate the size of QEMM's code and data, the memory
- reserved for QEMM tasks, the memory reserved for a DMA buffer,
- the memory reserved for real alternate maps, the memory used for
- mapping ROMs, and finally a small amount of memory (uually less
- than 16K) which was unusable for various reasons. These numbers
- can be changed depending on the setup of your computer and your
- use of some command line parameters to QEMM.SYS.
-
- At the bottom of the screen is a number showing how much of your
- conventional memory area is being used by QEMM. Note that this
- number is always very small.
-
- ~Subhead~ Diagnostic Tips
-
- If You Think There Is More Memory in Your PC Than Is Shown:
- Check that your PC's CMOS is set up properly, and that there are
- no defective (or loose) memory chips.
-
- Why QEMM May Not Be Able to Use All of Your Shadow RAM: Shadow
- RAM which overlaps ROM or adapter RAM cannot be used by QEMM.
- Thus, shadow RAM which overlaps the system ROM, the video adapter
- ROM, the video display RAM and any other adapters you have is
- unavailable to QEMM.
-
- Let QEMM Allocate Extended Memory: We suggest that you not load
- device drivers that use extended memory before QEMM. Instead,
- reserve extended memory for use after QEMM by using the EXTMEM=
- command line switch. If your extended memory program can get its
- memory through XMS, then you do not need to reserve extended
- memory for it.
-
- Using Maps: If you are not using a multitasking environment,
- such as DESQview, specify the MAPS=0 parameter on the QEMM.SYS
- command line to gain an additional 32K of expanded (or extended)
- memory. If you are using DESQview you should have one map plus
- one map for each DESQview window you use.
-
- Unassigned: The Unassigned category of this screen represents
- that memory which QEMM-386 controls but which has not been given
- any function. After QEMM-386 has set up its data and High RAM and
- other resources, whatever is left of memory is made expanded
- memory. Since expanded memory is allocated 16K at a time, any
- memory that is less than 16K or is fragmented is left as
- Unassigned. Some of the QEMM-386 parameters can be altered (RAM,
- MAPS, ROM, primarily) to increase or decrease the amount of
- Unassigned memory, to either use it for these new purposes or to
- increase it until it becomes more expanded memory.
-